1. Field of the Invention
The present invention relates to a method for controlling the movement of a drive axis of a drive unit, wherein the movement of the drive axis is controlled in a cycle step by specifying a setpoint of the movement, by means of which there results a movement phase of the movement of the drive axis, wherein a smoothing filter in the form of an averaging filter calculates the new setpoint as the mean value of the previous setpoints at a filter time in the past.
2. Discussion of Background Information
Long-stator linear motors are often used as flexible conveying devices in manufacturing lines, processing lines, assembly lines and similar systems. As is known, a long-stator linear motor consists substantially of a long stator in the form of a multiplicity of drive coils arranged one after the other, and a multiplicity of transport units with excitation magnets (permanent or electromagnets) which are moved along the long stator by applying an electrical current appropriately to the drive coils. As a result of the drive coils, a moving magnetic field is produced which interacts with the excitation magnets on the transport units in order to move the transport units. A conveyor line, along which the transport units can be moved, is therefore formed by the long stator. It is thus possible to control each transport unit individually and independently of one another in its movement (position, velocity, acceleration). For this purpose, each drive coil is activated by an associated drive coil controller which can receive commands to move a transport unit (e.g. in the form of setpoints for position or velocity) from a superordinate system control unit. At the same time, track switches or merging conveyor sections of the long-stator linear motor can be provided along the conveyor line. The long stator is also often constructed in the form of conveyor segments, wherein each conveyor segment forms part of the conveyor line and contains a number of drive coils. Usually, a segment controller, which controls all drive coils of the conveyor segment, is provided for a conveyor segment. The structural design of the long-stator linear motor, that is to say, for example, the design of the drive coils, the conveyor line, the transport units, the transport unit guides, etc., can, of course, be different, wherein, however, the basic functional principle of a long-stator linear motor remains the same.
A conveyor device in the form of a long-stator linear motor can become quite complex with a plurality of transport sections which can be connected to one another by means of track switches. A large number of transport units can be moved simultaneously on these. Such a conveyor device therefore imposes high demands on the control of the movement of the individual transport units.
U.S. Pat. No. 8,863,669 B2 describes, by way of example, a conveyor device in the form of a long-stator linear motor with a transport unit controller. Herein, the conveyor line is divided into zones, wherein a transport unit in a setpoint-based zone is controlled based on a setpoint command, and, in a limit-based zone, is controlled by means of commands for the end position and maximum values for the velocity and acceleration. With the limit-based control, these commands are converted into a movement profile with which the transport unit is moved.
There are various possibilities as to how the movement of a transport unit can be controlled or regulated. For example, a distance coupling, with which a slave transport unit is coupled to the movement of a master transport unit, would be conceivable. The slave transport unit follows the master transport unit at a specified constant distance. Instead of a constant distance, the distance could also vary along the movement, for example in the form of a specified curve. A movement in the form of an inverse kinematic, with which the movement of the transport unit is synchronized to the movement of another unit in space, is also conceivable. An example of this is the synchronization of a transport unit to the movement of a robot arm which carries out work on a workpiece on the transport unit. A position control, in which a control difference, based on which the setpoint position is varied in order to equalize the control difference to zero, is specified, is also possible. An application of this could be the exertion of a process force between two transport units. However, the invention is not restricted to a conveyor device in the form of a long-stator linear motor but applies generally to drive axes of a drive.
In most cases, a target velocity or a target position, which is to be set or approached by the drive, is specified for a drive axis. This type of movement of a drive axis is also referred to in the following as target mode. In target mode, the target velocity or target position is converted into a position profile or, as an equivalent, also into a velocity profile, which is followed by the drive axis. A typical example of the specification of target velocities is a crane where the slewing velocity of the crane arm is controlled by means of a control element, e.g. a joystick. In target mode, limits for the jerk, which is defined as the time derivative of the acceleration, are often specified in order to reduce the load on the drive axis. So-called smoothing filters, which limit the change in acceleration (that is to say the jerk), are often used for this purpose. Such smoothing filters are often designed as low-pass filters or as averaging filters. In many applications, such as cranes for example, a limit of the time derivative of the jerk is also desired.
It would, of course, also be possible to generate movement profiles which are inherently jerk-limited. However, the generation of such movement profiles is very calculation-intensive. Particularly in the case of applications such as a conveyor device in the form of a long-stator linear motor where there is a multiplicity of transport units to be moved, the limits of available computational power are quickly reached. For this reason, in many applications, only simple movement profiles, which are subsequently jerk-limited in a smoothing filter, are generated for a drive axis.
U.S. Pat. No. 4,603,286 A describes a higher-order low-pass filter. However, such low-pass filters are likewise calculation-intensive. For a conveyor device having a multiplicity of transport units, the computational effort would increase enormously, as a result of which such low-pass filters can hardly be used for this application. Irrespective of this, low-pass filters have the characteristic that the output of the filter only adapts exponentially to the input but never reaches it. This makes low-pass filters rather uninteresting for accurate control with low tracking error (deviation between setpoint and actual value).
EP 419 705 A1 and EP 477 412 A1 each describe a jerk limitation with a simple averaging filter which forms the mean value over a specified number of previous position commands in order to calculate the new setpoint for the position command. Although these averaging filters require less computational power, they assume that previous position commands are known in order to be able to calculate a mean value from the previous values. This is the case when the smoothing filter is always active, that is to say from standstill at the beginning of the movement to the end of the movement.
However, it is possible that a smoothing filter in the form of a averaging filter is only to be activated during a movement of a drive axis, that is to say not from the very beginning, for example when the system switches from a movement mode, e.g. inverse kinematic, to the target mode. In this case, an undesirable movement behavior of the drive axis occurs depending on how the smoothing filter is initialized at the time of activation (filled with values for the previous time period). If the smoothing filter has simply been initialized with the previous setpoints, then a setpoint step would occur at the time of activation which would burden the drive axis controller and the components of the drive. In the worst case, the control could become unstable. If initialization takes place with the setpoint at the time of activation, then this could result in a velocity or acceleration step, which is likewise undesirable and may have similar consequences.